
#ifndef _MEMBER_BBillboard_H_
#define _MEMBER_BBillboard_H_

#include <BMap>
#include <BIcon>
#include <BButton>
#include <BHBoxLayout>
#include <BMessageBox>

namespace BWE
{
	class ButtonPair
	{
	public:
		inline ButtonPair()
		{
			button = 0;
			btn = Button_None;
		}
		inline ButtonPair(BButton* button, Button btn)
		{
			this->button = button;
			this->btn = btn;
		}
		inline ButtonPair(const ButtonPair& other)
		{
			button = other.button;
			btn = other.btn;
		}
		inline bool operator == (Button btn) const
		{
			return btn == btn;
		}
		inline bool operator != (Button btn) const
		{
			return btn != btn;
		}

		BButton*	button;
		Button		btn;
	};
	class member_BMessageBox : public BObject
	{
	public:
		member_BMessageBox(BMessageBox* messageBox);
		~member_BMessageBox();

		const char* buttonText(Button button);

		void freshRects();

		void slotButtonClicked(BObject* object);

		BMessageBox*		boss;
		BString				text;
		BSize				textSize;
		BRect				textRect;
		StyleRole			iconRole;
		BHBoxLayout*		buttonLayout;
		Button				defaultButton;
		BArray<ButtonPair>	buttonPairs;
	};
}

#endif